package com.redis;

/**
 * @author lvcaihong
 * @dtae 2019/2/14 11:36
 */
public abstract class BasePrefix implements KeyPrefix{

    private int expireSeconds;
    private String prefix;

    public BasePrefix(String prefix){
        //0代表用不过期
        //调用构造方法
        this(0,prefix);
    }

    public BasePrefix(int expireSeconds,String prefix){
        this.expireSeconds = expireSeconds;
        this.prefix = prefix;
    }

    @Override
    public int expireSeconds() {
        return expireSeconds;
    }

    @Override
    public String getPrefix() {
        //如何保证每一个模块的prefix不一样
        //每一个模块对应一个类
        String className = getClass().getSimpleName();
        return className + ":" + prefix;
    }
}
